package top.blackr;

import lombok.Builder;
import lombok.Data;
import top.blackr.config.CityData;
import top.blackr.config.ParamsData;
import top.blackr.config.Template;
import top.blackr.weather.WeatherParamsData;
import top.blackr.weather.WeatherTemplate;

import java.util.ArrayList;
import java.util.List;

/**
 * <a href="https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login">微信测试公众号</a>
 * <br>接收用户配置表
 *
 * @author BlackR
 */
@Data
public class UserConfig {

    public static final List<UserInfo> USERS;

    static {
        USERS = new ArrayList<>();
        WeatherParamsData paramsData = new WeatherParamsData();
        // 微信接收人称呼（爱称、称呼等）
        paramsData.setName("咩咩儿");
        // 扫描二维码后，生成的微信号
        paramsData.setOpenId("o7iGO******************rWJ3M");
        // 天气模板所需要的城市
        paramsData.setCityId(CityData.CITY_DATA_MAP.get("荆州"));
        // 出生生日
        paramsData.setBirthday("1996-10-15");

        USERS.add(UserInfo.builder()
                .template(new WeatherTemplate())
                .paramsData(paramsData).build());
    }

    @Data
    @Builder
    public static class UserInfo {
        /**
         * 接收用户微信昵称
         */
        private String nickname;
        /**
         * 消息模板
         */
        private Template<? super ParamsData> template;
        /**
         * 消息模板所需参数
         */
        private ParamsData paramsData;
    }
}
